package com.gzx.plugin.data.wxjk.sync.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 诉讼数据对象 data_wxjk_sssj
 *
 * @author LionLi
 * @date 2024-09-18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SssjCustomerDto implements Serializable {

    @Serial
    private static final Long serialVersionUID = 1L;

    private String id;

    /**
     * 案件id
     */
    private Integer businessId;

    /**
     * 借款合同编号
     */
    private String contractNo;

    /**
     * 借款人姓名
     */
    private String custName;

    /**
     * 身份证号
     */
    private String idNo;

    /**
     * 电话	还款卡手机号
     */
    private String phone;

    /**
     * 性别	M-男，F-女
     */
    private String sex;

    /**
     * 联系地址
     */
    private String resAddress;

    /**
     *
     */
    private String residAddress;

    /**
     * 注册时间	格式:yyyy-mm-dd hh24:mi:ss
     */
    private Date registrationDate;

    /**
     * 注册渠道
     */
    private String registrationChannel;

    /**
     * 主合同签署日	格式:yyyy-mm-dd hh24:mi:ss
     */
    private Date contractDate;

    /**
     * 放款方
     */
    private String lendingSide;

    /**
     * 放款方2
     */
    private String lendingSideSecond;

    /**
     * 服务方
     */
    private String serviceName;

    /**
     * 担保方
     */
    private String guaranteeName;

    /**
     * 债权受让方
     */
    private String assigneeName;

    /**
     * 订单状态
     */
    private String orderStatus;

    /**
     * 已出期数
     */
    private String outPeriod;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 贷款提前到期日	格式:yyyy-mm-dd hh24:mi:ss
     */
    private Date prepaymentDate;

    /**
     * 账单日	格式:取1-31之间的一天
     */
    private String billDay;

    /**
     * 放贷日期	格式:yyyy-mm-dd hh24:mi:ss
     */
    private Date deliveryDate;

    /**
     * 合同年利率
     */
    private BigDecimal contractPenalty;

    /**
     * 合同综合费率（年）
     */
    private BigDecimal coYearRate;

    /**
     * 罚息利率
     */
    private BigDecimal currentPenalty;

    /**
     * 放贷金额	单位：元
     */
    private BigDecimal loanAmount;

    /**
     * 贷款期数
     */
    private BigDecimal loanPeriod;

    /**
     * 还款方式	枚举：1等额本息、2先息后本、3等额本金；
     * 默认传1“等额本息”
     */
    private String repaymentMode;

    /**
     * 借款人收款账户卡号
     */
    private String bankCardNo;

    /**
     * 借款人收款账户所属银行
     */
    private String bankName;

    /**
     * 是否支持对公还款	默认1是2否   默认1是
     */
    private String supportPublic;

    //对公还款账号信息
    private List<SssjCorporateAccount> corporateAccountConfigDtos;

    /**
     * 逾期天数
     */
    private BigDecimal outOverPeriod;

    /**
     * 逾期日	最远一次逾期日（应还款日）
     */
    private Date overdueDate;

    /**
     * 逾期总金额
     */
    private BigDecimal overdueTotalAmount;

    /**
     * 清贷总金额
     */
    private BigDecimal cleanLoanTotalAmount;

    private String collContent;

    //逾期信息
    private List<SssjOverdueInfo> overdueInfoDtos;

    //清贷信息
    private List<SssjCleanLoanInfo> cleanLoanInfoDtos;

    //担保代偿信息
    private List<SssjCompen> compenDtos;

    //担保代偿信息
    private List<SssjRepayment> repaymentDtos;

    //其他订单还款信息（前置费用）
    private List<SssjPreRepayment> preRepaymentDtos;
    //影像件
    private List<SssjFile> fileDtos;
    //主订单还款计划表
    private List<SssjRepayPlan> repayPlanDtos;
    //前置订单还款计划表
    private List<SssjPreRepayPlan> preRepayPlanDtos;
    //联系人信息
    private List<SssjContactInfo> contactInfos;

}
